/**
 * Framework Tec - 
 *
 * @author Salma El Mohib 
 * @since 2011 TestPassagerAbstrait
 **/

package tec;

import java.lang.String;

abstract class TestPassagerAbstrait {
   
  protected TestPassagerAbstrait () {
      lancer();
  }
  
  abstract protected PassagerAbstrait creerPassager(String nom, int destination);

   public static void lancer () {
      System.out.print ("Tests PassagerAbstrait ");
		
                testInstanciation ();
      System.out.print (".");
      
		testAccepterPlaceAssise ();
      System.out.print (".");
      
		testAccepterPlaceDebout ();
      System.out.print (".");
      
		testAccepterSortie ();
      System.out.print (".");
  
      System.out.print (" [OK]\n");
   
   }

  private static void testInstanciation () {
      String nom = "Passager Test";
      PassagerAbstrait passager = creerPassager (nom, 7);
      
      assert nom.equals (passager.nom ());
      assert   passager.estDehors ();
      assert ! passager.estDebout ();
      assert ! passager.estAssis  ();
   }
   

 private static void testAccepterPlaceAssise () {
      PassagerAbstrait passager = creerPassager ("Passager Test", 14);
      passager.accepterPlaceAssise ();
      
      assert ! passager.estDehors ();
      assert ! passager.estDebout ();
      assert   passager.estAssis  ();
   }

   private static void testAccepterPlaceDebout () {
      PassagerAbstrait passager = creerPassager ("Passager Test", 21);
      passager.accepterPlaceDebout ();
      
      assert ! passager.estDehors ();
      assert   passager.estDebout ();
      assert ! passager.estAssis  ();
   }
   
   private static void testAccepterSortie () {
      PassagerAbstrait passager = creerPassager ("Passager Test", 28);
      passager.accepterSortie ();
      
      assert   passager.estDehors ();
      assert ! passager.estDebout ();
      assert ! passager.estAssis  ();
   }
		

}


